package properties;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Properties;

public class PropertiesDemo01 {

    // Properties类
    // store方法是  写
    // list方法是  写到控制台
    // load方法是  读
    public static void main(String[] args) throws IOException {
        Properties p = new Properties();
        // 添加数据
        //setProperty(key,value) 是添加数据的方法
        p.setProperty("username", "admin");
        p.setProperty("password", "123456");
        p.setProperty("age", "18");
        // 写入文件 store 方法
        try (OutputStreamWriter osw = new OutputStreamWriter(
                new FileOutputStream("day10-code/src/properties/user.properties")
                , StandardCharsets.UTF_8)) {
            p.store(osw, "用户信息");
        }

        // list 方法 调用输出到控制台
        p.list(System.out);
        //  PropertiesDemo01.class 是获取类的字节码文件
        // .getClassLoader()  是获取类加载器
        // .getResourceAsStream("properties/user.properties") // 获取文件输入流

        //load 方法 读取文件
        p.load(PropertiesDemo01.class.getClassLoader().getResourceAsStream("properties/user.properties"));

        System.out.println(p.size());
        //stringPropertyNames()  获取所有的key

        System.out.println("用户名  \t   密码");
        // 遍历所有的key
        p.stringPropertyNames().forEach(key -> {
            System.out.println(key + "  =  " + p.getProperty(key));
        });

    }
}
